In the context of databases, a series of logical operations where all the operations must happen or none of the operations must happen is called a transaction. Transactions provide a way to define and freeze relevant state in the data structures of a database. The effects of an update are captured by committing a transaction. When the update is initiated by a protocol request, the transaction is committed before sending the appropriate protocol response. The transaction has “ACID” properties (Atomicity, Consistency, Isolation, Durability), which guarantee that database transactions are processed reliably. The semantics of individual operations (e.g., read, write) govern the interactions between users and the database. Traditionally, transactional semantics have guaranteed ACID properties for only a single database.